//导入express
const express = require("express");
const db=require("../lib/db")
//调用router方法
const router = express.Router();
//登录
const userLogin=require("../service/userLogin")
//推荐作者列表
const authorList=require("../service/authorList")
//文章列表
const articleList=require("../service/articleList")
//新增文章
const addArticle=require("../service/addArticle")
//更新文章
const updateIdArticle=require("../service/updateIdArticle")
//文章分类页加载文章列表数据
const classifyArticleList=require("../service/classifyArticleList")
//文章详情
const findArticleDetails=require("../service/findArticleDetails")
//导入获取首页文章数据
const myArticleList = require("../service/myArticleList")
//删除文章
const deleteArticle=require("../service/deleteArticle.js")
//设置路由 登录接口
router.post("/userLogin",(req,res)=>{ 
    //获取用户传递过来的参数
    const params = req.body;
    console.log(params)
    //用户名
    const username = params.userName;
    //密码
    const userpwd = params.password;
    console.log(username,userpwd)
    //调用处理登录逻辑的函数 将用户名和密码传递过去。
    userLogin(username,userpwd)
    res.send("登陆成功")   
})

//设置路由 获取首页推荐作者接口
router.get("/authorList",(req,res)=>{

    authorList().then(data=>{
        if(data==404){
            res.json({
                status:data,
                msg:"作者列表为空"
            })
            res.end()
        }else{
            res.json({
                status:200,
                msg:data
            })
            res.end()
        }
    })
})

//获取文章首页数据接口

router.get("/articleList",(req,res)=>{

    articleList().then(data=>{
        if(data==0){
            res.json({
                status:data,
                msg:"作者列表为空"
            })
            res.end()
        }else{
            res.json({
                status:200,
                msg:data
            })
            
        }
    })
})

//文章分类页加载文章列表数据接口
router.get("/classifyArticleList/:classify",(req,res)=>{

    var classify=req.params.classify;
    console.log(classify)
    classifyArticleList(classify).then(data=>{
        if(data==404){
            res.json({
                status: data,
                msg:"文章详情为空"
            })
        }else{
            res.json({
                status: 200,
                msg: data
            })
        }
    })
})

//获取文章详情
router.get("/findArticleDetails/:id",(req,res)=>{
    let id=req.params.id;
    findArticleDetails(id).then(data=>{
        if(data==404){
            res.json({
                status: data,
                msg:"文章详情为空"
            })
        }else{
            res.json({
                status:200,
                msg:data
            })
        }
    }) 
})
//新增文章接口
router.post("/addArticle",(req,res)=>{
    let params=req.body
    console.log(params)
    let title=params.title
    let content=params.content
    let desc=params.desc
    let author=params.author
    let authorId=(parseInt)(params.authorId)
    let classify=params.classify
    let time = params.time
    addArticle(title,content,desc,author,authorId,classify,time).then(data=>{
        if(data==404){
            res.json({
                status: data,
                msg: "新增失败"
            })
        }else{
            res.json({
                status: 200,
                msg: data
            })
        }
    })
})

//个人中心页加载文章列表数据
router.get("/myArticleList/:userId", (req, res) => {
    let id = req.params.userId
    console.log(id);
    myArticleList(id).then(data => {
        if (data == 404 ) {
            res.json({
                status: data,
                msg: "未找到数据"
            })
        }else {
            res.json(data)
        }
    })

})
//更新文章
router.post("/updateIdArticle",(req,res)=>{
    let params=req.body
    let id=params.id //文章id
    let title=params.title //文章标题
    let content=params.content //文章内容
    let desc=params.desc //描述
    let author=params.author //作者
    let authorId=(parseInt)(params.authorId)  //作者id
    let classify=params.classify //文章类型
    updateIdArticle(id,title,content,desc,author,authorId,classify).then(data=>{
        if(data==404){
            res.json({
                status: data,
                msg: "更新失败"
            }) 
        }else{
            res.json({
                status: 200,
                msg: data
            })
        }
    })
})

//删除文章
router.get("/deleteArticle/:id",(req,res)=>{
    let id=req.params.id
    deleteArticle(id).then(data=>{
        if(data==404){
            res.json({ 
                status: data,
                msg: "删除失败"
            })
        }else{
            res.json({
                status: 200,
                msg: data
            })
        }
    })
})

//导出
module.exports = router;